后台管理项目,用到的是vue+elementUI的方式,upload板块,api个人感觉还是不够详尽,现在,来说一下关于立即上传的问题.
主要用到的是http-request的覆盖原有上传方式,(因为我需要传token给后台),所以action的值可以写为空串.
页面代码:

<el-upload 
  class="upload-demo" name="usersFile"
  action=""
  :on-preview="handlePreview"
  :http-request="uploadFile"
  :on-remove="handleRemove"
  :auto-upload="true"
  :on-exceed="handleExceed"
  :file-list="fileList">
  <el-button size="mini" type="primary">批量上传</el-button>
</el-upload>

可以看到,http-request对应的方法uploadFile是重点:

uploadFile(file){
    let formDatas = new FormData();
    formDatas.append('usersFile', file.file);
    formDatas.append('tokenId',this.$store.state.user.tokenId);
    this.$post('/yourUrl',formDatas).then(res =>{
          if(res.code == 0){
            this.$message({
              message: res.msg,
              type: 'success'
            });
          }else{
            this.$message({
              message: res.msg?res.msg:'操作失败',
              type: 'error'
            });
          }
        })
  },

说明:其中字段usersFile就是后台要的key,值就是你选择的文件 ,这样就实现了立即上传.


orange
20 声望1 粉丝